﻿namespace OpenGameEngine.Logging
{
    /// <summary>
    /// The importance of logging
    /// </summary>
    public enum LogImportance
    {
        /// <summary>
        /// This will log all the low importance of events of the engine
        /// </summary>
        EngineLow = 0,

        /// <summary>
        /// This will log all the hight importance of events of the engine
        /// </summary>
        EngineHight = 1,

        /// <summary>
        /// Low importance
        /// </summary>
        Low = 2,

        /// <summary>
        /// Medium importance
        /// </summary>
        Medium = 3,

        /// <summary>
        /// High importance
        /// </summary>
        High = 4
    }

    /// <summary>
    /// The basic methods for logging
    /// </summary>
    public interface ILogProvider
    {
        /// <summary>
        /// Logs the given log
        /// </summary>
        /// <param name="log">THe log to log</param>
        /// <param name="importance">The importance of the log</param>
        void Log(string log, LogImportance importance);
    }
}
